import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import nightwatchPlugin from 'vite-plugin-nightwatch'
import { createHtmlPlugin } from 'vite-plugin-html';


// https://vitejs.dev/config/
export default defineConfig(({mode})=>{
  // console.log(`Running in ${mode} mode.`);
  // const env = loadEnv(mode, process.cwd());

  return {
  optimizeDeps: {
    exclude: ['vue'],
  },
  plugins: [
    vue(),
    nightwatchPlugin({
      renderPage: './nightwatch/index.html'
    }),
    // createHtmlPlugin({
    //   inject: {
    //     data: {
    //       VITE_APP_ENV: env.VITE_APP_ENV,
    //       VITE_APP_API_URL: env.VITE_APP_API_URL,
    //     },
    //   },
    // }),
  ],
  define: {
    'process.env.NODE_ENV': JSON.stringify(mode)
  },
  // build: {
  //   outDir: "ons-android", 
  //   assetsInclude: ['**/*.css', './*.woff', './*.woff2', './*.ttf','./font'],
  // },
  build: {
    outDir: "ons-app",
    rollupOptions: {
      // output: {
      //   entryFileNames: 'js/[name]-[hash].js', // 指定 JS 文件的输出路径及命名规则
      //   chunkFileNames: 'js/[name]-[hash].js', // 指定分片文件的输出路径及命名规则
      //   assetFileNames: (assetInfo) => {
      //     console.log(assetInfo, 'assetInfo')          // 设置不同类型文件的输出路径及命名规则
      //     if (
      //       assetInfo.type === 'asset' &&
      //       /\.(jpe?g|png|gif|svg)$/i.test(assetInfo.name)
      //     ) {
      //       // return 'img/[name].[hash].[ext]' // 图像文件输出路径及命名规则
      //     }
      //     if (
      //       assetInfo.type === 'asset' &&
      //       /\.(ttf|woff|woff2|eot)$/i.test(assetInfo.name)
      //     ) {
      //       return 'fonts/[name].[hash].[ext]' // 字体文件输出路径及命名规则
      //     }
      //     return '[ext]/name1-[hash].[ext]' // 其他资源文件输出路径及命名规则
      //   }
      // }
    }
  },
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },}
})
